﻿using System;

namespace Sofire.Data
{
    /// <summary>
    /// 执行数据库查询的事件参数基类。
    /// </summary>
    public abstract class ExecuteEventArgsBase : EventArgs
    {
        private ExecuteType _ExecuteType;

        /// <summary>
        /// 初始化 <see cref="Sofire.Data.ExecuteEventArgsBase"/> 的新实例。
        /// </summary>
        /// <param name="type">执行查询的操作类型。</param>
        public ExecuteEventArgsBase(ExecuteType type)
        {
            this._ExecuteType = type;
        }

        /// <summary>
        /// 获取一个值，表示执行查询的操作类型。
        /// </summary>
        public ExecuteType ExecuteType
        {
            get
            {
                return this._ExecuteType;
            }
        }

        private object _UserToken;
        /// <summary>
        /// 设置或获取用户自定义数据。
        /// </summary>
        public object UserToken
        {
            get
            {
                return this._UserToken;
            }
            set
            {
                this._UserToken = value;
            }
        }

    }
}